'use strict';
const uniID = require('uni-id')
exports.main = async (event, context) => {
	const uniIDIns = uniID.createInstance({ // 创建uni-id实例，其上方法同uniID
		context: context,
		// config: {} // 完整uni-id配置信息，使用config.json进行配置时无需传此参数
	})
	const {
		username,
		password
	} = event
	//自己额外增加的校验密码规范的逻辑（可选）
	//强弱密码校验,密码至少包含大写字母，小写字母，数字，且不少于6位
	//const reg=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{6,16}$/
	const reg=/^[a-z|A-Z|0-9]{6,16}$/
	if(!reg.test(password)){
		return {
			code: 401,
			message: '密码不少于6位'
			//message: '密码至少包含大写字母，小写字母，数字，且不少于6位'
		}
	}
	// 自动验证用户名是否与已经注册的用户名重复，如果重复会直接返回错误。否则会自动生成token并加密password存储username、password、token到数据表uni-id-users，并返回如上响应参数
	const res = await uniIDIns.register({ //支持传入任何值，比如可以直接传入mobile即可设置手机号码，切勿直接传入event否则这是一个极大的安全问题
		username,
		password
	})
	return res
};
